banner
Fei_xiangShi

FXLOG

你在这里发现了我, 说明了什么呢?

CTF 工具收集

為什麼沒有人做 CTF 工具大全這種好東西?感覺入門要想成為腳本小子得知道能用哪些腳本吧... 不管怎麼說,飛飛想整理一下這類東西,結構大概是分類 - 名稱 - 介紹 & 用法示例

只是咱喜歡的工具哦,咱更喜歡用 Linux 呢,所以部分轉譯跑不了或者性能很低的咱就不列了,廣為人知的工具像 BurpSuite 這種咱也不列了

寫了一點發現原來隨波逐流軟件站給了一些工具,那咱就幫他整合一下

編解碼#

隨波逐流#

一鍵解碼,下載地址: 官網

不過這個居然要聯網檢查更新,賽博潔癖犯了,哪天給他破解了
用 Bottles 使用 exe 體驗也很糟糕,差評

XXencode#

在線一鍵解碼工具,有些線下賽禁止聯網,還是只能用隨波逐流了 (呕)
點擊訪問

Crypto#

這個主要是數學問題吧,用到的都是一些 python 的庫

gmpy2#

高精度高效率大數運算庫

pip install gmpy2

PWN#

pwntools#

pip install pwntools

Web#

wabt#

用於將 Webassmbly 文件轉換為 C 語言代碼,然後放到 IDA 裡分析

wasm2c webassembly.wasm -o web.c -o-h web.h

通過 wasm2c 導出的 C 語言代碼本身並不包含可執行入口,同時會缺少運行時,wasm_rt_* 由 wabt 項目裡的 wasm-rt-impl.c 提供;而 w2c_wasi__snapshot__preview1_fd_write、w2c_env_0x5Femscripten_memcpy_js 等名字是 wasm2c 為 WASI/Emscripten 導入生成的包裝函數,需要自己實現或鏈接到現成的 “迷你 WASI” 實現。官方示例把這些實現放在一個 imports.c 裡,只要返回 0 或調用真正的系統調用即可;否則仍會報 “unknown import”

// imports.c
#include <stddef.h>
#include <stdint.h>
#include "wasm-rt.h"

uint32_t w2c_wasi__snapshot__preview1_fd_write(void* unused, uint32_t fd,
                                               uint32_t iovs, uint32_t iovs_len,
                                               uint32_t nwritten) {
    return 0;
}

void w2c_env_0x5Femscripten_memcpy_js(void* unused) {}
void w2c_env_emscripten_resize_heap(void* unused) {}

手寫 main.c 可以通過編譯

#include "web.h"
#include <stdio.h>

int main(void) {
    /* 1) 初始化 wasm‑rt 全局運行時 */
    wasm_rt_init();

    /* 2) 實例化模塊(不需要完整導入表就傳 NULL) */
    struct w2c_webassembly inst;
    wasm2c_webassembly_instantiate(&inst, NULL, NULL);

    /* 3) 運行所有全局構造函數(static ctors) */
    w2c_webassembly_0x5F_wasm_call_ctors(&inst);

    /* 4) 初始化 Emscripten 堆 */
    w2c_webassembly_emscripten_stack_init(&inst);

    /* 5) 調用導出 main(傳 argc=0, argv_ptr=0) */
    u32 rc = w2c_webassembly_main(&inst, 0, 0);
    printf("wasm main returned %u\n", rc);

    /* 6) 清理實例和運行時 */
    wasm2c_webassembly_free(&inst);
    wasm_rt_free();
    return 0;
}

編譯命令

gcc -O2 -I. -I/usr/include/wabt/wasm2c -DWASM_RT_MALLOC \
    web.c imports.c main.c /usr/share/wabt/wasm2c/wasm-rt-impl.c \
    -lm -o webdemo

數字取證#

Volatility#

內存取證工具

git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
pip install -r requirements.txt

使用例#

envars 是 Volatility 的一個插件,用於提取和列出內存轉儲中的環境變量。環境變量包含了系統和用戶配置的一些信息,比如路徑、系統設置等。

.\volatility -f .\1.raw --profile=Win7SP1x64 envars | grep 'n0wayback'

image

pslist 是 Volatility 中的一個插件,用於列出內存中的所有進程。它通過分析內存中的進程鏈表,列出所有活動的進程信息,包括進程的 PID、進程名、父進程等。

.\volatility -f .\1.raw --profile=Win7SP1x64 pslist

0xfffffa8001a022a0 mspaint.exe            2052   1028      6      120      1      0 2024-03-04 05:50:22 UTC+0000

0xfffffa8003c68a80 cmd.exe                4188   1028      3      111      1      0 2024-03-04 05:50:26 UTC+0000

0xfffffa800418c060 Code.exe                888   1028     31      696      1      0 2024-03-04 05:52:52 UTC+0000

發現存在 mspaint.exe 進程,進行一個內存 dump

memdump 是 Volatility 中的一個插件,用於提取內存中的特定進程的內存映像。這個插件會根據指定的 PID 將進程的內存內容提取出來。

.\volatility -f .\1.raw --profile=Win7SP1x64 memdump -p 2052 -D ./

consoles 是 Volatility 中的一個插件,用於提取並列出與控制台相關的會話信息。控制台會話指的是命令行工具(如 cmd.exe 或 powershell.exe)的活動會話,Volatility 將列出它們的詳細信息。
具體來說,consoles 插件會顯示所有在內存中存在的控制台會話的相關數據,包括會話 ID、命令歷史、運行的命令等信息。

.\volatility -f .\1.raw --profile=Win7SP1x64 consoles

image

雜項#

jwt.io#

可以在線編碼解碼 JWT Token 呢

SQL 注入#

ffifdyop#

md5(ffifdyop) = 'or'66�]��!r,��b

在 md5 後可以用此恆真萬能口令注入

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。